package auctionatr


/**
 * Diese Klasse beschreibt die Methoden des Portals, zum Beispiel was passiert, wenn man auf ein bestimmtes Navigationselement klickt. 
 * 
 * @author Can Paul
 *
 */
class PortalController extends BaseController {

	SendEmailService sendEmailService

	/**
	 * Navigation für Home, Impressum und Hilfe
	 */
	static navigation = [
		[
			group:'main',
			order:1,
			title:'home',
			action:'index',
			path:'/',
			subItems:[
			]],
		[
			order:10,
			title:'impressum',
			action:'impressum',
			path:'/'],
		[
			order:10,
			title:'hilfe',
			action:'hilfe',
			path:'/']
	]

	static allowedMethods = [index:"GET"]

	/**
	 * Sucht die acht als nächstes endenden Auktionen und gibt diese für die View zurück.
	 */

	def index = {
		
		// Finde acht als nächstes endende Auktionen
		def data = Auction.findAll("from Auction as a WHERE a.completed = false ORDER BY a.finishDate asc", [max:8])

		BigDecimal[] bids = new BigDecimal[data.size()]
		for(int i = 0; i < data.size(); i++) {
			Bid high = Bid.findByAuctions(data[i], [max: 1, order: 'desc', sort: 'gebot'])
			if(high){
				bids[i] = high.gebot
			} else {
				bids[i] = data[i].startPrice
			}
		}

		[data:data, bids:bids]
	}

	def show = {
		redirect(controller: "auction", action: "show", params: params)
	}

	/**
	 * Diese Methode wird für die View Impressum benötigt.
	 */
	def impressum = {}

	/**
	 * Diese Methode wird für die View Hilfe benötigt.
	 */
	def hilfe = {}

}
